﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Domain;
using Session;
using Notif;

namespace Personal
{
    public partial class FormPrs : Form
    {
        BrokerPersonal b_p = new BrokerPersonal(); // объявление BrokerPersonal
        FormPrsUdt f_PrsUpd = new FormPrsUdt(); // объявление FormPrsUdt

        public FormPrs()
        {
            InitializeComponent();
        }

        private void Prs_sBt_Upd_Click(object sender, EventArgs e) // открытие формы "Редактирование"
        {
            f_PrsUpd.ShowDialog();  
        }

        private void Prs_sBt_Del_Click(object sender, EventArgs e) // удаление записи
        {
            if ( MessNotif.Question("Удалить запись?", "Удаление записи") == true) // вызов сообщение, если ответ "Да", то
            {
                Dm_Pers prs = new Dm_Pers(); // объявление Dm_Pers

                prs.Id_pers = Convert.ToInt32(f_PrsUpd.label7.Text); // присвоение значений Id_pers из label7

                b_p.Delete(prs); // вызов функции удаления

                FillGrid(); // вызов функции заполнения Grid 
            }
        }

        private void Prs_sBt_Insr_Click(object sender, EventArgs e) // открытие формы "Добавить"
        {
            FormPrsInsr f_PrsInsr = new FormPrsInsr();
            f_PrsInsr.ShowDialog();          
        }

        private void Prs_sBt_Ex_Click(object sender, EventArgs e) // закрытие формы
        {
            this.Close();
        }

        private void Prs_dGV_Prs_SelectionChanged(object sender, EventArgs e) // метод на отслеживание и заполнение из Prs_dGV_Prs
        {

            DataGridViewCell cell = null; // объявление DataGridViewCell и его обнуление

            foreach (DataGridViewCell selectedCell in Prs_dGV_Prs.SelectedCells) // цикл на выбор ячейки, при выборе ячейки из Prs_dGV_Prs, это значение устанавливается в selectedCell 
            {
                cell = selectedCell; // приравнивание cell и selectedCell
                break; // перерывание цикла
            }

            if (cell != null) // если cell не пустой, то
            {
                DataGridViewRow row = cell.OwningRow; // объявление DataGridViewRow и присвоение ему текущего ряда 

                f_PrsUpd.label7.Text = row.Cells[0].Value.ToString(); // передача значения из Cells[0] в f_PrsUpd.label7
                f_PrsUpd.Prs_Upd_tE_Fn.Text = row.Cells[1].Value.ToString(); // передача значения из Cells[1] в f_PrsUpd.Prs_Upd_tE_Fn
                f_PrsUpd.Prs_Upd_tE_Ln.Text = row.Cells[2].Value.ToString(); // передача значения из Cells[2] в f_PrsUpd.Prs_Upd_tE_Ln
                f_PrsUpd.Prs_Upd_cBE_Np.Text = row.Cells[3].Value.ToString(); // передача значения из Cells[3] в f_PrsUpd.Prs_Upd_cBE_Np
                f_PrsUpd.Prs_Upd_cBE_Dp.Text = row.Cells[4].Value.ToString(); // передача значения из Cells[4] в f_PrsUpd.Prs_Upd_cBE_Dp
                f_PrsUpd.Prs_Upd_tE_Log.Text = row.Cells[5].Value.ToString(); // передача значения из Cells[5] в f_PrsUpd.Prs_Upd_tE_Log
                f_PrsUpd.Prs_Upd_tE_Pass.Text = row.Cells[6].Value.ToString(); // передача значения из Cells[6] в f_PrsUpd.Prs_Upd_tE_Pass
                f_PrsUpd.Prs_Upd_tE_Ph.Text = row.Cells[7].Value.ToString(); // передача значения из Cells[6] в f_PrsUpd.Prs_Upd_tE_Pass
            }
        }

        private void FormPrs_Activated(object sender, EventArgs e) // при навидение фокуса, Grid перезаполняется
        {
            FillGrid();
        }

        private void FillGrid() // функции заполнения Grid
        {
            Prs_dGV_Prs.DataSource = b_p.FillGrid(); // вызов функции заполнения

            Prs_dGV_Prs.Columns[0].Visible = false;
            Prs_dGV_Prs.Columns[8].Visible = false;
            Prs_dGV_Prs.Columns[3].Visible = false;
            Prs_dGV_Prs.Columns[4].Visible = false;

            Prs_dGV_Prs.Columns[1].HeaderText = "Имя";
            Prs_dGV_Prs.Columns[2].HeaderText = "Фамилия";
            Prs_dGV_Prs.Columns[5].HeaderText = "Логин";
            Prs_dGV_Prs.Columns[6].HeaderText = "Пароль";
            Prs_dGV_Prs.Columns[7].HeaderText = "Телефон";
            Prs_dGV_Prs.Columns[9].HeaderText = "Отдел";
            Prs_dGV_Prs.Columns[10].HeaderText = "Должность";

            Prs_dGV_Prs.Columns[1].DisplayIndex = 0;
            Prs_dGV_Prs.Columns[2].DisplayIndex = 1;
            Prs_dGV_Prs.Columns[5].DisplayIndex = 4;
            Prs_dGV_Prs.Columns[6].DisplayIndex = 5;
            Prs_dGV_Prs.Columns[7].DisplayIndex = 6;
            Prs_dGV_Prs.Columns[9].DisplayIndex = 2;
            Prs_dGV_Prs.Columns[10].DisplayIndex = 3;

            Prs_dGV_Prs.AutoResizeColumns();
            //Prs_dGV_Prs.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
        }
    }
}
